home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / tests / repeatfault / segv.c < prev   
Encoding:
C/C++ Source or Header  |  1992-03-13  |  514 b   |  31 lines

  1. /* 
  2.  * Check what happens if the handler for SIGSEGV doesn't try to correct for 
  3.  * whatever caused the signal.
  4.  *
  5.  * $Header: /user5/kupfer/spriteserver/tests/repeatfault/RCS/segv.c,v 1.1 92/03/12 20:51:45 kupfer Exp $
  6.  */
  7.  
  8. #include <signal.h>
  9.  
  10. int ntimes = 0;
  11.  
  12. handler()
  13. {
  14.     Test_PutMessage("ding\n");
  15.     ++ntimes;
  16.     if (ntimes > 5) {
  17.     exit(1);
  18.     }
  19. }
  20.  
  21. main()
  22. {
  23.     int *bogusPtr = (int *)0x98765433;
  24.     int i;
  25.  
  26.     signal(SIGSEGV, handler);
  27.     i = *bogusPtr;
  28.     printf("i = 0x%x\n", i);
  29.     exit(0);
  30. }
  31.